<?php
//Config : Les informations personnels de l'instance (log, pass, etc)
require("../include/config.php");

//API Fonctions : les fonctions fournis de base par l'API
require("../API/php/fonctions.php");

//Header établie la connection à la base $connection
require("../API/php/header.php");

//Fonctions : Fonctions personnelles de l'instance
require("../php/fonctions.php");

//Mode debug
$modeDebug = false;

//Public ou privé (clé obligatoire)
$modePublic = true;

//Mode de sortie text,json,xml,csv
//pour xml et csv $object_retour->data["resultat"] doit contenir qu'un est unique array
$modeSortie = "json";

//Liens de test
// phpsql/getIncidentsAttente.php?milis=123450&ctrl=ok

//Définition des entrants
$arrayInput = array(
    "ctrl" => null
);

//Récupération des entrants
$arrayValeur = recupInput($arrayInput);

//Object retour minima
// $object_retour->strErreur string
// $object_retour->data  string
// $object_retour->statut  string

//--------------------------------------------------------------------------
$strSql = "SELECT DISTINCT a.`id_toc`, a.`label`, b.`statut`, IFNULL(c.`version`,0) as 'version', IFNULL(e.`respon`, '') as 'respon'
    , IFNULL(h.`desc`, '') as 'desc', IFNULL(g.`sn3`, 0) as 'sn3'
    , IFNULL(g.`date_creation`, '') as 'date_creation', IFNULL(g.`date_modif`, '') as 'date_modif'
    FROM `tmp_data_tickets` a
    LEFT OUTER JOIN (
       SELECT d.`id_toc`, COUNT(d.`id_toc`) as 'version'
       FROM `tmp_data_status` d
       WHERE 1=1
       AND d.`statut` = 7/*Ré-ouvert*/
    ) c
    ON a.`id_toc` = c.`id_toc`
    LEFT OUTER JOIN (
       SELECT f.`id_toc`, i.`code_user` as 'respon'
       FROM `".$baseNOA."`.`tab_tags_affecte` f, `".$baseNOA."`.`tab_utilisateurs` i
       WHERE 1=1
       AND f.`id_tag` = i.`id`
       AND f.`id_type` = 14/*responsable*/
       AND f.`actif` = 1
    ) e
    ON a.`id_toc` = e.`id_toc`
    LEFT OUTER JOIN (
       SELECT g.`id_toc`, SUBSTRING(g.`note`,1,25) as 'desc'
       FROM `".$baseNOA."`.`tab_notes` g
       WHERE 1=1
       AND g.`id_type` = 70/*desc*/
       AND g.`actif` = 1
    ) h
    ON a.`id_toc` = h.`id_toc`
    LEFT JOIN `".$prefixTable."tab_incidents_attente` g
    ON a.id_toc = g.id_toc
    , `tmp_data_last_statut` b 
    WHERE 1=1
    AND a.`id_toc` = b.`id_toc`
    AND a.`id_nature` = 29/*incident*/
    AND b.`statut` = 4/*En attente*/
;";

// On envois la requète
$select = $connection->prepare($strSql);

if($select->execute()){
    // On indique que nous utiliserons les résultats en tant qu'objet
    $select->setFetchMode(PDO::FETCH_OBJ);

    // On transforme les résultats en tableaux d'objet
    $resultats = new stdClass();
    $resultats->data = $select->fetchAll(PDO::FETCH_OBJ);
    $resultats->nombre = count($resultats->data);

    $object_retour->data["resultats"] = $resultats;
}else{
    $error = 'Erreur SQL:'.print_r($select->errorInfo(), true)." (".$strSql.")";
    $object_retour->strErreur = $error;
}
$select->closeCursor();

//--------------------------------------------------------------------------
if($modeDebug){
    $strSorti .= ($strSql);
}

//Cloture de l'interface
require("../API/php/footer.php");
?>